<html>
	<head>
		<meta charset="utf-8"></meta>
		<title>BShape</title>
		<link href="./style.css" rel="stylesheet" type="text/css"/>
	</head>
	<body>
		<div class="class" name="BShape">
			<h1>BShape</h1>
			<p>继承自<a href="BObject.html">BObject</a></p>
			<p id="resume"><a href="#desc">详细</a></p>
			<h2>public</h2>
			<table id="public">
				<tr><td align="right"></td><td><a href="#BShape(const BString&)">BShape</a>(const BString& name = BString());</td></tr>
				<tr><td align="right"></td><td><a href="#BShape(const BShape&)">BShape</a>(const BShape& other);</td></tr>
				<tr><td align="right"></td><td><a href="#~BShape()">~BShape</a>();</td></tr>
				<tr><td align="right">virtual void </td><td><a href="#copy(const BShape*)">copy</a>(const BShape* other);</td></tr>
				<tr><td align="right">virtual BShape* </td><td><a href="#clone()">clone</a>() const = 0;</td></tr>
				<tr><td align="right">bool </td><td><a href="#setIsolate(bool)">setIsolate</a>(bool isolate);</td></tr>
				<tr><td align="right">bool </td><td><a href="#isolate()">isolate</a>() const;</td></tr>
				<tr><td align="right">void </td><td><a href="#setVisible(bool)">setVisible</a>(bool visible);</td></tr>
				<tr><td align="right">bool </td><td><a href="#visible()">visible</a>() const;</td></tr>
				<tr><td align="right">void </td><td><a href="#setColliding(bool)">setColliding</a>(bool colliding);</td></tr>
				<tr><td align="right">bool </td><td><a href="#colliding()">colliding</a>() const;</td></tr>
				<tr><td align="right">void </td><td><a href="#setLighting(bool)">setLighting</a>(bool lighting);</td></tr>
				<tr><td align="right">bool </td><td><a href="#lighting()">lighting</a>() const;</td></tr>
				<tr><td align="right">void </td><td><a href="#setDepthTest(bool)">setDepthTest</a>(bool depthTest);</td></tr>
				<tr><td align="right">bool </td><td><a href="#depthTest()">depthTest</a>() const;</td></tr>
				<tr><td align="right">void </td><td><a href="#setDepthOffset(float)">setDepthOffset</a>(float depthOffset);</td></tr>
				<tr><td align="right">float </td><td><a href="#depthOffset()">depthOffset</a>() const;</td></tr>
				<tr><td align="right">void </td><td><a href="#setCullback(bool)">setCullback</a>(bool cullback);</td></tr>
				<tr><td align="right">bool </td><td><a href="#cullback()">cullback</a>() const;</td></tr>
				<tr><td align="right">void </td><td><a href="#setPointSmooth(bool)">setPointSmooth</a>(bool pointSmooth);</td></tr>
				<tr><td align="right">bool </td><td><a href="#pointSmooth()">pointSmooth</a>() const;</td></tr>
				<tr><td align="right">void </td><td><a href="#setLineSmooth(bool)">setLineSmooth</a>(bool lineSmooth);</td></tr>
				<tr><td align="right">bool </td><td><a href="#lineSmooth()">lineSmooth</a>() const;</td></tr>
				<tr><td align="right">void </td><td><a href="#setPolySmooth(bool)">setPolySmooth</a>(bool polySmooth);</td></tr>
				<tr><td align="right">bool </td><td><a href="#polySmooth()">polySmooth</a>() const;</td></tr>
				<tr><td align="right">void </td><td><a href="#setLineWidth(float)">setLineWidth</a>(float lineWidth);</td></tr>
				<tr><td align="right">float </td><td><a href="#lineWidth()">lineWidth</a>() const;</td></tr>
				<tr><td align="right">void </td><td><a href="#setPointSize(float)">setPointSize</a>(float pointSize);</td></tr>
				<tr><td align="right">float </td><td><a href="#pointSize()">pointSize</a>() const;</td></tr>
				<tr><td align="right">void </td><td><a href="#setTransparent(bool)">setTransparent</a>(bool transparent);</td></tr>
				<tr><td align="right">bool </td><td><a href="#transparent()">transparent</a>() const;</td></tr>
				<tr><td align="right">void </td><td><a href="#setNormalize(bool)">setNormalize</a>(bool normalize);</td></tr>
				<tr><td align="right">bool </td><td><a href="#normalize()">normalize</a>() const;</td></tr>
				<tr><td align="right">void </td><td><a href="#setPolyMode(PolyMode)">setPolyMode</a>(PolyMode polyMode);</td></tr>
				<tr><td align="right">PolyMode </td><td><a href="#polyMode()">polyMode</a>() const;</td></tr>
				<tr><td align="right">void </td><td><a href="#setColor(BByte, BByte, BByte,BByte)">setColor</a>(BByte r, BByte g, BByte b, BByte a = 255);</td></tr>
				<tr><td align="right">void </td><td><a href="#setColor(const BColor&)">setColor</a>(const BColor& color);</td></tr>
				<tr><td align="right">const BColor& </td><td><a href="#color()">color</a>() const;</td></tr>
				<tr><td align="right">void </td><td><a href="#setMaterial(BMaterial*)">setMaterial</a>(BMaterial* material);</td></tr>
				<tr><td align="right">BMaterial* </td><td><a href="#material()">material</a>() const;</td></tr>
				<tr><td align="right">bool </td><td><a href="#setTexture(BTexture*,int)">setTexture</a>(BTexture* texture, int index = 0);</td></tr>
				<tr><td align="right">BTexture* </td><td><a href="#texture(int)">texture</a>(int index = 0) const;</td></tr>
				<tr><td align="right">int </td><td><a href="#textureCount()">textureCount</a>() const;</td></tr>
				<tr><td align="right">bool </td><td><a href="#clearTexture()">clearTexture</a>();</td></tr>
				<tr><td align="right">bool </td><td><a href="#removeTexture(int)">removeTexture</a>(int index);</td></tr>
				<tr><td align="right">bool </td><td><a href="#removeTexture(BTexture*)">removeTexture</a>(BTexture* texture);</td></tr>
				<tr><td align="right">void </td><td><a href="#setProgram(BProgram*)">setProgram</a>(BProgram* program);</td></tr>
				<tr><td align="right">BProgram* </td><td><a href="#program()">program</a>() const;</td></tr>
				<tr><td align="right">void </td><td><a href="#setMatrix(const BMatrix&)">setMatrix</a>(const BMatrix& matrix);</td></tr>
				<tr><td align="right">const BMatrix& </td><td><a href="#matrix()">matrix</a>() const;</td></tr>
				<tr><td align="right">void </td><td><a href="#setProxy(BShape*)">setProxy</a>(BShape* proxy);</td></tr>
				<tr><td align="right">BShape* </td><td><a href="#proxy()">proxy</a>() const;</td></tr>
				<tr><td align="right">void </td><td><a href="#move(const BVector&)">move</a>(const BVector& position);</td></tr>
				<tr><td align="right">void </td><td><a href="#move(BReal, BReal, BReal)">move</a>(BReal x, BReal y, BReal z);</td></tr>
				<tr><td align="right">void </td><td><a href="#setPosition(BReal, BReal, BReal)">setPosition</a>(BReal x, BReal y, BReal z);</td></tr>
				<tr><td align="right">void </td><td><a href="#setPosition(const BVector&)">setPosition</a>(const BVector& position);</td></tr>
				<tr><td align="right">BVector </td><td><a href="#position()">position</a>() const;</td></tr>
				<tr><td align="right">void </td><td><a href="#setEuler(BReal, BReal, BReal)">setEuler</a>(BReal ex, BReal ey, BReal ez);</td></tr>
				<tr><td align="right">void </td><td><a href="#setEuler(const BVector&)">setEuler</a>(const BVector& euler);</td></tr>
				<tr><td align="right">BVector </td><td><a href="#euler()">euler</a>() const;</td></tr>
				<tr><td align="right">void </td><td><a href="#setRotate(BReal, BReal, BReal, BReal)">setRotate</a>(BReal qx, BReal qy, BReal qz, BReal qw);</td></tr>
				<tr><td align="right">void </td><td><a href="#setRotate(const BQuater&)">setRotate</a>(const BQuater& quater);</td></tr>
				<tr><td align="right">BQuater </td><td><a href="#rotate()">rotate</a>() const;</td></tr>
				<tr><td align="right">void </td><td><a href="#setScale(BReal, BReal, BReal)">setScale</a>(BReal x, BReal y, BReal z);</td></tr>
				<tr><td align="right">void </td><td><a href="#setScale(const BVector&)">setScale</a>(const BVector& scale);</td></tr>
				<tr><td align="right">BVector </td><td><a href="#scale()">scale</a>() const;</td></tr>
				<tr><td align="right">virtual void </td><td><a href="#setMargin(BReal)">setMargin</a>(BReal margin);</td></tr>
				<tr><td align="right">virtual BReal </td><td><a href="#margin()">margin</a>() const;</td></tr>
				<tr><td align="right">const BBox& </td><td><a href="#box()">box</a>() const;</td></tr>
				<tr><td align="right">const BSpace& </td><td><a href="#space()">space</a>() const;</td></tr>
				<tr><td align="right">virtual void </td><td><a href="#fresh()">fresh</a>() const;</td></tr>
				<tr><td align="right">virtual void </td><td><a href="#dirty()">dirty</a>() const;</td></tr>
				<tr><td align="right">virtual bool </td><td><a href="#flush()">flush</a>() const;</td></tr>
				<tr><td align="right">virtual void </td><td><a href="#clear()">clear</a>();</td></tr>
				<tr><td align="right">using </td><td><a href="#BObject::query;()">BObject::query;</a></td></tr>
				<tr><td align="right">virtual bool </td><td><a href="#query(const BString&, BValue&)">query</a>(const BString& text, BValue& value) const;</td></tr>
				<tr><td align="right">virtual BVector </td><td><a href="#inertia(BReal)">inertia</a>(BReal mass) const;</td></tr>
				<tr><td align="right">virtual BVector </td><td><a href="#vertex(const BVector&)">vertex</a>(const BVector& direct) const;</td></tr>
			</table>
			<h2>protected</h2>
			<table id="protected">
				<tr><td align="right">virtual void </td><td><a href="#refresh(BBox&)">refresh</a>(BBox& box) = 0;</td></tr>
				<tr><td align="right">virtual void </td><td><a href="#render(BRender&)">render</a>(BRender& render) = 0;</td></tr>
			</table>
			<div id="desc">
				<h2>详细介绍：</h2>
			</div>
			<h2 id="docs">成员文档：</h2>
			<div id="BShape(const BString&)">
				<h3>BShape(const BString&amp; name = BString());</h3>
			</div>
			<div id="BShape(const BShape&)">
				<h3>BShape(const BShape&amp; other);</h3>
			</div>
			<div id="~BShape()">
				<h3>~BShape();</h3>
			</div>
			<div id="copy(const BShape*)">
				<h3>virtual void copy(const BShape* other);</h3>
			</div>
			<div id="clone()">
				<h3>virtual BShape* clone() const = 0;</h3>
			</div>
			<div id="setIsolate(bool)">
				<h3>bool setIsolate(bool isolate);</h3>
			</div>
			<div id="isolate()">
				<h3>bool isolate() const;</h3>
			</div>
			<div id="setVisible(bool)">
				<h3>void setVisible(bool visible);</h3>
			</div>
			<div id="visible()">
				<h3>bool visible() const;</h3>
			</div>
			<div id="setColliding(bool)">
				<h3>void setColliding(bool colliding);</h3>
			</div>
			<div id="colliding()">
				<h3>bool colliding() const;</h3>
			</div>
			<div id="setLighting(bool)">
				<h3>void setLighting(bool lighting);</h3>
			</div>
			<div id="lighting()">
				<h3>bool lighting() const;</h3>
			</div>
			<div id="setDepthTest(bool)">
				<h3>void setDepthTest(bool depthTest);</h3>
			</div>
			<div id="depthTest()">
				<h3>bool depthTest() const;</h3>
			</div>
			<div id="setDepthOffset(float)">
				<h3>void setDepthOffset(float depthOffset);</h3>
			</div>
			<div id="depthOffset()">
				<h3>float depthOffset() const;</h3>
			</div>
			<div id="setCullback(bool)">
				<h3>void setCullback(bool cullback);</h3>
			</div>
			<div id="cullback()">
				<h3>bool cullback() const;</h3>
			</div>
			<div id="setPointSmooth(bool)">
				<h3>void setPointSmooth(bool pointSmooth);</h3>
			</div>
			<div id="pointSmooth()">
				<h3>bool pointSmooth() const;</h3>
			</div>
			<div id="setLineSmooth(bool)">
				<h3>void setLineSmooth(bool lineSmooth);</h3>
			</div>
			<div id="lineSmooth()">
				<h3>bool lineSmooth() const;</h3>
			</div>
			<div id="setPolySmooth(bool)">
				<h3>void setPolySmooth(bool polySmooth);</h3>
			</div>
			<div id="polySmooth()">
				<h3>bool polySmooth() const;</h3>
			</div>
			<div id="setLineWidth(float)">
				<h3>void setLineWidth(float lineWidth);</h3>
			</div>
			<div id="lineWidth()">
				<h3>float lineWidth() const;</h3>
			</div>
			<div id="setPointSize(float)">
				<h3>void setPointSize(float pointSize);</h3>
			</div>
			<div id="pointSize()">
				<h3>float pointSize() const;</h3>
			</div>
			<div id="setTransparent(bool)">
				<h3>void setTransparent(bool transparent);</h3>
			</div>
			<div id="transparent()">
				<h3>bool transparent() const;</h3>
			</div>
			<div id="setNormalize(bool)">
				<h3>void setNormalize(bool normalize);</h3>
			</div>
			<div id="normalize()">
				<h3>bool normalize() const;</h3>
			</div>
			<div id="setPolyMode(PolyMode)">
				<h3>void setPolyMode(PolyMode polyMode);</h3>
			</div>
			<div id="polyMode()">
				<h3>PolyMode polyMode() const;</h3>
			</div>
			<div id="setColor(BByte, BByte, BByte,BByte)">
				<h3>void setColor(BByte r, BByte g, BByte b, BByte a = 255);</h3>
			</div>
			<div id="setColor(const BColor&)">
				<h3>void setColor(const BColor&amp; color);</h3>
			</div>
			<div id="color()">
				<h3>const BColor&amp; color() const;</h3>
			</div>
			<div id="setMaterial(BMaterial*)">
				<h3>void setMaterial(BMaterial* material);</h3>
			</div>
			<div id="material()">
				<h3>BMaterial* material() const;</h3>
			</div>
			<div id="setTexture(BTexture*,int)">
				<h3>bool setTexture(BTexture* texture, int index = 0);</h3>
			</div>
			<div id="texture(int)">
				<h3>BTexture* texture(int index = 0) const;</h3>
			</div>
			<div id="textureCount()">
				<h3>int textureCount() const;</h3>
			</div>
			<div id="clearTexture()">
				<h3>bool clearTexture();</h3>
			</div>
			<div id="removeTexture(int)">
				<h3>bool removeTexture(int index);</h3>
			</div>
			<div id="removeTexture(BTexture*)">
				<h3>bool removeTexture(BTexture* texture);</h3>
			</div>
			<div id="setProgram(BProgram*)">
				<h3>void setProgram(BProgram* program);</h3>
			</div>
			<div id="program()">
				<h3>BProgram* program() const;</h3>
			</div>
			<div id="setMatrix(const BMatrix&)">
				<h3>void setMatrix(const BMatrix&amp; matrix);</h3>
			</div>
			<div id="matrix()">
				<h3>const BMatrix&amp; matrix() const;</h3>
			</div>
			<div id="setProxy(BShape*)">
				<h3>void setProxy(BShape* proxy);</h3>
			</div>
			<div id="proxy()">
				<h3>BShape* proxy() const;</h3>
			</div>
			<div id="move(const BVector&)">
				<h3>void move(const BVector&amp; position);</h3>
			</div>
			<div id="move(BReal, BReal, BReal)">
				<h3>void move(BReal x, BReal y, BReal z);</h3>
			</div>
			<div id="setPosition(BReal, BReal, BReal)">
				<h3>void setPosition(BReal x, BReal y, BReal z);</h3>
			</div>
			<div id="setPosition(const BVector&)">
				<h3>void setPosition(const BVector&amp; position);</h3>
			</div>
			<div id="position()">
				<h3>BVector position() const;</h3>
			</div>
			<div id="setEuler(BReal, BReal, BReal)">
				<h3>void setEuler(BReal ex, BReal ey, BReal ez);</h3>
			</div>
			<div id="setEuler(const BVector&)">
				<h3>void setEuler(const BVector&amp; euler);</h3>
			</div>
			<div id="euler()">
				<h3>BVector euler() const;</h3>
			</div>
			<div id="setRotate(BReal, BReal, BReal, BReal)">
				<h3>void setRotate(BReal qx, BReal qy, BReal qz, BReal qw);</h3>
			</div>
			<div id="setRotate(const BQuater&)">
				<h3>void setRotate(const BQuater&amp; quater);</h3>
			</div>
			<div id="rotate()">
				<h3>BQuater rotate() const;</h3>
			</div>
			<div id="setScale(BReal, BReal, BReal)">
				<h3>void setScale(BReal x, BReal y, BReal z);</h3>
			</div>
			<div id="setScale(const BVector&)">
				<h3>void setScale(const BVector&amp; scale);</h3>
			</div>
			<div id="scale()">
				<h3>BVector scale() const;</h3>
			</div>
			<div id="setMargin(BReal)">
				<h3>virtual void setMargin(BReal margin);</h3>
			</div>
			<div id="margin()">
				<h3>virtual BReal margin() const;</h3>
			</div>
			<div id="box()">
				<h3>const BBox&amp; box() const;</h3>
			</div>
			<div id="space()">
				<h3>const BSpace&amp; space() const;</h3>
			</div>
			<div id="fresh()">
				<h3>virtual void fresh() const;</h3>
			</div>
			<div id="dirty()">
				<h3>virtual void dirty() const;</h3>
			</div>
			<div id="flush()">
				<h3>virtual bool flush() const;</h3>
			</div>
			<div id="clear()">
				<h3>virtual void clear();</h3>
			</div>
			<div id="BObject::query;()">
				<h3>using BObject::query;</h3>
			</div>
			<div id="query(const BString&, BValue&)">
				<h3>virtual bool query(const BString&amp; text, BValue&amp; value) const;</h3>
			</div>
			<div id="inertia(BReal)">
				<h3>virtual BVector inertia(BReal mass) const;</h3>
			</div>
			<div id="vertex(const BVector&)">
				<h3>virtual BVector vertex(const BVector&amp; direct) const;</h3>
			</div>
			<div id="refresh(BBox&)">
				<h3>virtual void refresh(BBox&amp; box) = 0;</h3>
			</div>
			<div id="render(BRender&)">
				<h3>virtual void render(BRender&amp; render) = 0;</h3>
			</div>
		</div>
	</body>
</html>